#include "fxcc/yml/Serializer.h"
#include "fxcc/core/graph/common/Maps.h"

using namespace fxcc::yml;
using namespace fxcc::graph::common;

template<>
void Serializer::Encode<::AnimationMap>(YAML::Node& node, const ::AnimationMap& inst)
{
	SetVariable<decltype(inst.m_Index)>(node, "m_Index", inst.m_Index);

}


template<>
bool Serializer::Decode<::AnimationMap>(const YAML::Node& node, ::AnimationMap& inst)
{
	GetVariable<decltype(inst.m_Index)>(node, "m_Index", inst.m_Index);
	return true;
}

template<>
void Serializer::Encode<fxcc::graph::common::MeshMap>(YAML::Node& node, const fxcc::graph::common::MeshMap& inst)
{
	SetVariable<decltype(inst.m_Index)>(node, "m_Index", inst.m_Index);

}


template<>
bool Serializer::Decode<fxcc::graph::common::MeshMap>(const YAML::Node& node, fxcc::graph::common::MeshMap& inst)
{
	GetVariable<decltype(inst.m_Index)>(node, "m_Index", inst.m_Index);
	return true;
}


template<>
void Serializer::Encode<fxcc::graph::common::BoneFileMap>(YAML::Node& node, const fxcc::graph::common::BoneFileMap& inst)
{
	SetVariable<decltype(inst.m_Index)>(node, "m_Index", inst.m_Index);

}


template<>
bool Serializer::Decode<fxcc::graph::common::BoneFileMap>(const YAML::Node& node, fxcc::graph::common::BoneFileMap& inst)
{
	GetVariable<decltype(inst.m_Index)>(node, "m_Index", inst.m_Index);
	return true;
}



template<>
void Serializer::Encode<fxcc::graph::common::SkinnedMeshMap>(YAML::Node& node, const fxcc::graph::common::SkinnedMeshMap& inst)
{
	SetVariable<decltype(inst.m_Index)>(node, "m_Index", inst.m_Index);

}


template<>
bool Serializer::Decode<fxcc::graph::common::SkinnedMeshMap>(const YAML::Node& node, fxcc::graph::common::SkinnedMeshMap& inst)
{
	GetVariable<decltype(inst.m_Index)>(node, "m_Index", inst.m_Index);
	return true;
}

template<>
void Serializer::Encode<fxcc::graph::common::MaterialViewMap>(YAML::Node& node, const fxcc::graph::common::MaterialViewMap& inst)
{
	SetVariable<decltype(inst.m_Index)>(node, "m_Index", inst.m_Index);
}


template<>
bool Serializer::Decode<fxcc::graph::common::MaterialViewMap>(const YAML::Node& node, fxcc::graph::common::MaterialViewMap& inst)
{
	GetVariable<decltype(inst.m_Index)>(node, "m_Index", inst.m_Index);
	return true;
}
